Three Complementary Approaches to Bidirectional Programming

نویسندگان

  • Nate Foster
  • Kazutaka Matsuda
  • Janis Voigtländer
چکیده

This paper surveys three distinct approaches to bidirectional programming. The first approach, syntactic bidirectionalization, takes a program describing the forward transformation as input and calculates a well-behaved reverse transformation. The second approach, semantic bidirectionalization, is similar, but takes the forward transformation itself as input rather than a program describing it. It requires the transformation to be a polymorphic function and uses parametricity and free theorems in the proof of well-behavedness. The third approach, based on bidirectional combinators, focuses on the use of types to ensure wellbehavedness and special constructs for dealing with alignment problems. In presenting these approaches, we pay particular attention to use of complements, which are structures that represent the information discarded by the transformation in the forward direction.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Integrating Goal Programming, Taylor Series, Kuhn-Tucker Conditions, and Penalty Function Approaches to Solve Linear Fractional Bi-level Programming Problems

In this paper, we integrate goal programming (GP), Taylor Series, Kuhn-Tucker conditions and Penalty Function approaches to solve linear fractional bi-level programming (LFBLP)problems. As we know, the Taylor Series is having the property of transforming fractional functions to a polynomial. In the present article by Taylor Series we obtain polynomial objective functions which are equivalent...

متن کامل

MODULARITY: U: Relations in Role-Based Data Modeling, Navigation and Updates

Object-oriented programming languages support concise navigation of relations represented by references. However, relations are not first-class citizens and bidirectional navigation is not supported. The relational paradigm provides first-class relations, but with bidirectional navigation through verbose queries. We present a systematic analysis of approaches to modeling and navigating relation...

متن کامل

Unifying and Generalizing Relations in Role-Based Data Modeling and Navigation

Object-oriented programming languages support concise navigation of relations represented by references. However, relations are not first-class citizens and bidirectional navigation is not supported. The relational paradigm provides first-class relations, but with bidirectional navigation through verbose queries. We present a systematic analysis of approaches to modeling and navigating relation...

متن کامل

Pricing decisions for complementary products of competitive supply chains

This study considers pricing, production and transportation decisions in a Stackelberg game between three-stage, multi-product, multi-source and single-period supply chains called leader and follower. These chains consist of; manufacturers, distribution centers (DCs) and retailers. Competition type is horizontal and SC vs. SC. The retailers in two chains try to maximize their profit through pri...

متن کامل

MATHEMATICAL ENGINEERING TECHNICAL REPORTS Bidirectionalization Transformation Based on Automatic Derivation of View Complement Functions

Bidirectional transformation is a pair of transformations: a view function and a backward transformation. A view function maps one data structure called source onto another called view. The corresponding backward transformation reflects changes in the view to the source. Its practically useful applications include replicated data synchronization, presentation-oriented editor development, tracin...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010